package com.macro.mall.service;


import com.macro.mall.common.api.CommonResult;
import com.macro.mall.dto.ProductSyncRequest;
import com.macro.mall.dto.ProductSyncResponse;
import com.macro.mall.model.request.ProductBatchGetRequest;
import com.macro.mall.model.request.ProductGetRequest;
import com.macro.mall.model.request.SkuBatchDeleteRequest;
import com.macro.mall.model.response.ProductBatchGetResponse;
import com.macro.mall.model.response.ProductGetResponse;
import com.macro.mall.model.response.SkuBatchDeleteResponse;
import com.macro.mall.model.vo.ProductDataVo;
import com.macro.mall.model.vo.product.ProductDetailVo;
import com.macro.mall.model.vo.product.ProductListVo;

import java.util.List;

public interface ProductSyncService {
    ProductSyncResponse syncProduct(ProductSyncRequest request);

    ProductBatchGetResponse batchGetProducts(ProductBatchGetRequest request);

    /**
     * 查询商品详情
     * @param request
     * @return
     */
    ProductGetResponse getProduct(ProductGetRequest request);

    List<ProductListVo>  getProductList(ProductBatchGetRequest request);

    /**
     * 删除sku
     * @param request
     * @return
     */
    SkuBatchDeleteResponse batchDeleteSkus(SkuBatchDeleteRequest request);

    /**
     * 查询商品详情
     * @param id
     * @return
     */
    ProductDetailVo getDetailProduct(Integer id);
}
